package com.restaurant.application.reservation.support;

import com.nebutown.base.data.ViewUpdate;
import com.nebutown.supporthome.AbstractImpl;
import com.nebutown.supporthome.CmdCapsule;
import com.restaurant.application.reservation.Reservation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public abstract class AbstractReservation extends AbstractImpl implements Reservation {

    private static final Logger logger = LoggerFactory.getLogger(Reservation.class);

    public final Class<?> getEffectiveInterface() {
        return Reservation.class;
    }

    public Logger getLogger() {
        return logger;

    }

    private static final String privateDataType = "ReservationData";

    public ReservationData getData() {
        return escort.getData(ReservationData.class);
    }

    public void setData(ReservationData data) {
        escort.setData(data);
    }
    public static CmdCapsule CMD_MODIFY = new CmdCapsule("modify", 0, ReservationData.class);
    public abstract ViewUpdate modify(ReservationData modify, int[] seq);
    public static CmdCapsule CMD_REFUSE = new CmdCapsule("refuse", 1, null);
    public abstract ViewUpdate refuse(int[] seq);

    public static CmdCapsule CMD_CANCEL = new CmdCapsule("cancel", 2, null);

    public abstract ViewUpdate cancel(int[] seq);
}
